73 research outputs found
NL4Py: Agent-Based Modeling in Python with Parallelizable NetLogo Workspaces
NL4Py is a NetLogo controller software for Python, for the rapid, parallel
execution of NetLogo models. NL4Py provides both headless (no graphical user
interface) and GUI NetLogo workspace control through Python. Spurred on by the
increasing availability of open-source computation and machine learning
libraries on the Python package index, there is an increasing demand for such
rapid, parallel execution of agent-based models through Python. NetLogo, being
the language of choice for a majority of agent-based modeling driven research
projects, requires an integration to Python for researchers looking to perform
statistical analyses of agent-based model output using these libraries.
Unfortunately, until the recent introduction of PyNetLogo, and now NL4Py, such
a controller was unavailable.
This article provides a detailed introduction into the usage of NL4Py and
explains its client-server software architecture, highlighting architectural
differences to PyNetLogo. A step-by-step demonstration of global sensitivity
analysis and parameter calibration of the Wolf Sheep Predation model is then
performed through NL4Py. Finally, NL4Py's performance is benchmarked against
PyNetLogo and its combination with IPyParallel, and shown to provide
significant savings in execution time over both configurations
- …